1. Field of the Invention
The invention relates to a computer program and system for providing a three-dimensional browser for a shared network environment, and particularly to a network-based platform which incorporates integrated markup language and rich media for multi-user interactivity, browsing and e-commerce.
2. Disclosure of the related Art
The Internet has provided the means for accelerating the exchange of information as we progress through the information age. End users may interact through their desktops, laptops and set-tops with anyone similarly having a processor with internet capability. Businesses may advertise and sell their products and services by configuring web pages that a user/consumer may visit either freely or via password access. Also, applications may be downloaded and run from another computer located anywhere in the world, or they may be loaded on a user""s hard drive from an audio or video CD or DVD or CD- or DVD-Rom.
Today""s internet browsers or clients for personal computers can only locate and retrieve files from servers having limited types and forms of content and features. Conventional browsers limit users to a basic environment that is only nominally configurable via a small group of xe2x80x9cpreferences.xe2x80x9d A user visually moves a cursor around a graphic display typically by mouse or keypad inputs. The user can hyperlink to other internet locations or web pages by executing specially highlighted texts or two-dimensional metaphors for desired internet locations. The user is typically alone in the browser environment, but may chat with another user by expression-limited text boxes, or through an audio link that functions much like a telephone handset connection.
There are applications that provide realistic rendering spaces for experiencing audio and/or visual content. These applications are typically not configurable and don""t provide means for surfing the internet. Some examples include games applications and audio/video CDs and DVDs that incorporate sophisticated graphics. The games applications allow multiple users to interact, but only under the restrictions of the games programs. These applications programs do not provide a way to leverage rich media or to display HTML objects. The audio/video DVDs typically provide a solitary experience where a user executes an object and views and listens to audio and video files without interaction with other users.
Most high quality software packages provide a means for developers to extend the software to suit their own needs. Traditionally, this is achieved through xe2x80x98Pluginsxe2x80x99. Plugins allow 3rd party developers to dynamically add features after the product is released. Historically, this has proven itself as a very powerful means of extending and modifying software packages.
Referring to FIG. 1, traditional applications provide limited extensibility through a plugin architecture. Plugins 2 are dynamically loaded at run time, and have access to the application through a well defined API 4. This API is well defined for the release of the application 6 and cannot be changed without releasing a new version of the application 6. This xe2x80x98well definednessxe2x80x99 is the cornerstone of API design. Generally, the API 4 is not modifiable. This allows 3rd party developers time to learn, build upon, and release extensions to the application 6 before the API 4 changes again in the next xe2x80x9cdot ohxe2x80x9d release. Well definedness has the unfortunate side effect of slowing the evolution of the API 4xe2x80x94new features are carefully added, if at all, or (in most cases) will wait until the next major revision of the software. This gives the API 4 a xe2x80x9clurchingxe2x80x9d evolutional pathxe2x80x94xe2x80x9clurchingxe2x80x9d forward with a large set of features, then remaining static during the entire release cycle.
Additionally, the traditional plugin architecture shown in FIG. 1 provides for little or no communication between the plugins 2. Forcing each plugin 2 to work with a static set of resources limits their functionality and relegates them to simple extensions rather than allowing them to make a broad contribution to the user experience. Some examples of the application 6 employing traditional plugin architectures include Netscape Communicator, Adobe Photoshop, and 3D Studio Max.
A client computer program provides instructions for a processor to locate and retrieve rich media and HTML files over a network, such as the internet, an internet or an LAN, for running in a three-dimensional (3D) graphical user interface. The program provides instructions for the processor to generate a 3D graphical user interface on a display. Then, the processor generates a metaphorical user object for navigating and interacting in the three dimensions within the environment via navigational and interactional inputs, respectively, from a user. The processor also integrates an HTML object into the environment, and interacts the user object with the HTML object in response to an interactional input from the user.
Preferably, the processor generates one or more additional user objects for additional users. Each of the additional user objects can also interact with the HTML object, the first user object and/or each other within the environment in response to interactional inputs from the additional users. In addition, the first user object may interact with any or all of the additional user objects in response to interactional inputs from the first,user. The interactional inputs may be proxy expressions from one user to another.
A rich media object may be provided in addition to the user and HTML objects. The rich media object may be interacted with by the user objects as well. The rich media object may be a viewing screen wherein images are displayed that the users may view together within the environment. The rich media object may also be an object for sale by a merchant, and the program may accept bids and execute contracts of sale from the users. Each user may reconfigure the rich media object by interacting with it. Each user may add a new rich media or HTML object to the environment by creating it using authoring tools provided within the program.
Each of the user objects may navigate within the environment by xe2x80x9cflyingxe2x80x9d in a continuous path to a destination such as the HTML object, the rich media object or another user object. Alternatively, each user object may xe2x80x9cwarpxe2x80x9d, or move directly from a present location to a chosen destination.
The program may also provide hyperlinks to component applications or internet destinations, such as may be provided by still other users. The program may provide any other function that is conventionally provided by world wide web browsers.
A bot object may be provided which interacts with any of the user objects, and preferably interacts in response to commands issued from another processor or set of programmed instructions. The bot object may function to provide instructions to the user objects or information about the program. The bot object may lead a discussion or other forum as programmed by another user such as an instructor, a merchant, or an auctioneer.
Each user may set the point of view of his/her corresponding user object within the environment. Each point of view may be the same or different than the points of view of the other user objects.
The program may be disseminated to other users by users who already have the program on their computer. The user already having the program may disseminate the program by attaching it to an email as an executable file and sending it to another user. The program may be automatically downloaded to a memory space of the new user when the new user executes the executable file. Preferably, the executable attachment is less than 100 kilobytes in size.
The program comprises a component architecture which may be readily expanded by seemless automatic downloads of new versions of component applications, by reconfigurations performed by the user, or by automatic or user initiated downloads of new component programs that may be created by other users. The component architecture allows for content creation and modification, and for communication between components.